/*
 * 	<pre>
 *	EasyPeas.
 *  Copyright (C) 2007 S Owen
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Lesser General Public
 *  License as published by the Free Software Foundation; either
 *  version 2.1 of the License, or (at your option) any later version.
 *
 *  This library is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public
 *  License along with this library; if not, write to the Free Software
 *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 * 
 * Aug 1, 2007
 * EasyPeasConstants.java
 * </pre>
 */
package org.easypeas;


/**
 * The Class EasyPeasConstants contains a set of constants used throughout
 * the easypeas system and its third party clients.
 */
/**
 * @author S Owen
 * 
 */
public class EasyPeasConstants {

        /**
         * The current version. Isn't there a way to get this from Maven???
         */
         public static final String VERSION = "0.3";
         
	/**
	 * Used as a property in the returned map to provide the name of the
	 * {@link EasyPea} used.
	 */
	public static final String EASYPEA_PEA = "easypea_pea";
	/**
	 * Used as a property in the returned map to provide the name of the method
	 * used.
	 */
	public static final String EASYPEA_METHOD = "easypea_method";
	/**
	 * Used as a property in the returned map to provide forward address
	 * resulting from invoking an {@link Action}
	 */
	public static final String EASYPEA_FORWARD = "easypea_forward";
	/**
	 * Used as a property to define the template to process resulting from
	 * invoking a {@link View}. If missing then the default template is used.
	 */
	public static final String EASYPEA_TEMPLATE = "easypea_template";

	/**
	 * Used as a System property to define an override of the default
	 * {@link Invoker}. <br>
	 * This is used internally by the {@link InvocationFactory}.
	 */
	public static final String EASYPEA_INVOKER = "easypea.invoker";

	/**
	 * Used as a System property to define an override of the default
	 * {@link ObjectCreator}<br>
	 * This is used internally by the {@link ObjectCreatorFactory}
	 */
	public static final String EASYPEA_OBJECTCREATOR = "easypea.objectcreator";

	/**
	 * Used as a System property to define an override of the default
	 * {@link Mappings}<br>
	 * This is used internally by the {@link MappingsFactory}
	 */
	public static final String EASYPEA_MAPPINGS = "easypea.mappings";

	/**
	 * <p>
	 * Property key used by velocity to find an instance of
	 * {@link ViewHandlerBean}
	 * </p>
	 * This is used to import other EasyPea paths to create layouts combining
	 * multiple EasyPeas.<br>
	 * e.g. <code>$viewhandler.read("/user/bob/status")</code>
	 * </p>
	 */
	public static final String VIEWHANDER_KEY = "viewhandler";
}
